Bảo mật Trao đổi khóa Diffie-Hellman

Người ta cho rằng giao thức sẽ bảo vệ thông tin đối với kẻ nghe lén nếu như G và g được chọn đúng. Kẻ nghe lén Eve cần phải giải được bài toán Diffie–Hellman để có thể tìm ra gab. Bài toán này hiện nay được xem là bài toán khó đối với các máy tính hiện đại ngày nay. Thuật toán nào có thể giải quyết một cách hiệu quả bài toán lôgarit rời rạc sẽ dễ dàng tính được a hoặc b và giải được bài toán Diffie–Hellman, qua đó biến hệ mã hóa này và cá hệ mã hóa công khai khác trở nên mất an toàn.

cấp của G phải là số nguyên tố hoặc có chứa thừa số nguyên tố lớn nhằm để tránh việc áp dụng thuật toán Pohlig–Hellman để tìm được a hoặc b. Vì lý do này, số nguyên tố Sophie Germain q thỉnh thoảng được sử dụng để tính số nguyên tố an toàn p=2q+1, bởi vì cấp của G khi đó chỉ có 2 thừa số nguyên tố là 2 và q. Giá trị g thỉnh thoảng được chọn để sinh ra cấp q nhóm con của G, hơn là G, nhờ đó ký hiệu Legendre của ga không làm lộ bit thấp của a.

Nếu bộ tạo số ngẫu nhiên sử dụng bởi Alice và Bob xuất ra số không hoàn toàn ngẫu nhiên hoặc số có thể đoán biết được một phần nào đó thì nhiệm vụ phá mã của Eve sẽ trở nên dễ dàng hơn nhiều.

Các số nguyên bí mật a và b sẽ bị loại bỏ ở cuối phiên truyền dữ liệu, do đó, trao đổi khóa Diffie–Hellman hiển nhiên đạt được tính bí mật chuyển tiếp hoàn hảo vì không có thông tin riêng tư dài hạn nào bị lộ ra.

Trong bản mô tả nguyên thủy của mình, phương thức trao đổi Diffie–Hellman bản thân nó không cung cấp khả năng xác thực cho các bên giao tiếp, và vì vậy trở nên không an toàn đối với hình thức tấn công người đứng giữa. Eve có thể thiết lập hai giao thức trao đổi, một với Alice và một với Bob, giúp cho Eve có thể giả dạng Alice đối với Bob và ngược lại một cách hiệu quả, từ đó có thể giải mã, rồi mã hóa lại thông điệp chuyển giữa Alice và Bob mà không bị phát hiện. Lưu ý rằng để không bị phát hiện, Eve phải luôn luôn đứng giữa để chuyển tiếp thông điệp (đã mã hóa lại) bất cứ khi nào Alice và Bob gửi. Nếu Eve ngưng chuyển tiếp, Alice và Bob sẽ phát hiện ra sự hiện diện của Eve và biết được rằng thông tin trao đổi riêng tư giữa hai người đã bị can thiệp và lộ ra với một người ngoài nào đó bất hợp pháp.

Một phương pháp để xác thực các bên tham gia với nhau là cần thiết để đề phòng các loại hình tấn công này. Những biến thể của Diffie-Hellman như STS có thể được áp dụng để tránh các cuộc tấn công kiểu này.

Tài liệu tham khảo

WikiPedia: Trao đổi khóa Diffie-Hellman http://www.cacr.math.uwaterloo.ca/hac/ http://cryptocellar.web.cern.ch/cryptocellar/cesg/... http://cryptocellar.web.cern.ch/cryptocellar/cesg/... http://code.google.com/p/sacct/ http://docs.google.com/viewer?a=v&pid=sites&srcid=... http://video.google.com/videoplay?docid=8991737124... http://www.google.com/patents?vid=4.2 http://www.google.com/patents?vid=4200770 http://www.jya.com/ellisdoc.htm http://www.rsasecurity.com/rsalabs/node.asp?id=230...